#ifndef __TABLE__
#define __TABLE__

/*
    邻接表，数组存储顶点，顶点里面有第一条边（这个第一是任意的）
    边里面有下一条边，从而实现数据查找
*/
#define MAX_VERTEX_NUM 100
typedef struct __ArcNode__//边 节点
{
    int adjvex;//该弧指向的顶点的位置
    struct __ArchNode__ *next_arc;//下一条弧
    //InfoType info;//边权值
}ArcNode;

typedef int VertexType;
typedef struct __VNode__ //顶点 节点
{
    VertexType data;
    ArcNode *first_arc;
}VNode, AdjList[MAX_VERTEX_NUM];
//上面这句的语法含义是，声明一个VNodoe类型，
//同时声明一个AdjList[MAX_VERTEX_NUM]类型，使用这个类型的时候，不用指定数组个数，
//默认大小就是定义类型时候的大小，使用的时候直接使用名称而不用加数组长度
//邻接表
typedef struct
{
    AdjList vertices;//
    int vex_num,arch_num;//顶点个数和边个数
    /* data */
}ALGraph;       

#endif